package com.atguigu.mediator.smartHouse;

/**
 * @program: design-patterns
 * @author: yangshen
 * @description: 具体的同事类 - 闹钟
 * @create: 2022-03-09 10:56
 **/
public class Alarm extends Colleague{

    public Alarm(Mediator mediator, String name) {
        super(mediator, name);
        //在创建Alarm 同事对象时，将自己放到ConcreteMediator对象中[集合]
//        mediator.register(name, this);
    }

    /**
     * 最终会去调用具体中介者的 getMessage 方法，来执行同事对象
     * @param stateChange 控制该同事对象，执行不同任务
     */
    @Override
    public void sendMessage(int stateChange) {
        //调用中介者对象的 getMessage方法
        //getMessage 方法，会根据收到同事对象发出的消息来协调调用其他的同事对象
        this.getMediator().getMessage(stateChange, this.name);
    }
}
